<!DOCTYPE html>
<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org">
<style>
  @page {
    margin: 0;
    size: 500px 400px;
  }
  body {
    display: grid;
    grid-template-columns: 100px auto 100px;
    grid-template-rows: 100px auto 100px;
    height: 100vh;
    margin: 0;
  }
  .square {
    border: solid;
    width: 25px;
    height: 25px;
  }
  body > .square {
    margin: auto;
  }
  .vertical-edge {
    display: flex;
    justify-content: space-between;
  }
  .vertical-edge > .square {
    margin: auto 0;
  }
  .horizontal-edge {
    display: flex;
    flex-flow: column;
    justify-content: space-between;
  }
  .horizontal-edge > .square {
    margin: 0 auto;
  }
  .pagearea {
    border: solid;
    padding: 8px;
  }
</style>

<div class="square"></div>
<div class="vertical-edge">
  <div class="square"></div>
  <div class="square" style="flex:1;"></div>
  <div class="square"></div>
</div>
<div class="square"></div>
<div class="horizontal-edge">
  <div class="square"></div>
  <div class="square"></div>
  <div class="square"></div>
</div>
<div class="pagearea">
  There should be 16 margin boxes around this page area. They should all be
  squares, except for the center box at the top and the middle box on the right
  hand side, which should take up all available main-axis space. All 16 boxes
  should all be centered within their available cross-axis space.
</div>
<div class="horizontal-edge">
  <div class="square"></div>
  <div class="square" style="flex:1;"></div>
  <div class="square"></div>
</div>
<div class="square"></div>
<div class="vertical-edge">
  <div class="square"></div>
  <div class="square"></div>
  <div class="square"></div>
</div>
<div class="square"></div>
